<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 假设有一个很长的花坛， 一部分地块种植了花， 另一部分却没有。 可是， 花不能种植在相邻的地块上， 它们会争夺水源， 两者都会死去。

    // 给你一个整数数组 flowerbed 表示花坛， 由若干 0 和 1 组成， 其中 0 表示没种植花， 1 表示种植了花。 另有一个数 n， 能否在不打破种植规则的情况下种入 n 朵花？ 能则返回 true， 不能则返回 false。

    /**
     * @param {number[]} flowerbed
     * @param {number} n
     * @return {boolean}
     */
    var canPlaceFlowers = function (flowerbed, n) {
      for (let i = 0, len = flowerbed.length; i < len && n > 0;) {
        if (flowerbed[i] == 1) {
          i += 2;
        } else if (i == flowerbed.length - 1 || flowerbed[i + 1] == 0) {
          n--;
          i += 2;
        } else {
          i += 3;
        }
      }
      return n <= 0;
    };

    console.log(canPlaceFlowers([1, 0, 0, 0, 1], 2));
  </script>
</body>

</html>